Sensors must be calibrated. In one example, a pressure indicator includes a resonant pressure transducer whose frequency changes depending upon the applied pressure. The relationship between the sensor input (pressure) and the sensor output (frequency changes) however, is not linear. Moreover, the resonant frequency also changes as a function of temperature. Thus, the pressure indicator typically includes a temperature sensor and both temperature and frequency signals are input to a microprocessor. Calibration and compensation data is stored in a memory, (i.e., an EEPROM) linked to the microprocessor.
During calibration, several known pressures are applied to the sensor at several known temperatures. The microprocessor, programmed to apply various curve fitting techniques, then calculates the calibration data and stores it in the memory in the form:P=ƒ(F,T)  (1)where F is the frequency, P is the pressure, and T is temperature. In one example,
  P  =            a      0        +                  b        0            ·      F        +                  c        0            ·              F        2              +                  d        0            ·              F        3              +                  a        1            ·      T        +                  b        1            ·      F      ·      T        +                  c        1            ·              F        2            ·      T        +                  d        1            ·              F        3            ·      T        +                  a        2            ·              T        2              +                  b        2            ·      F      ·              T        2              +                  c        2            ·              F        2            ·              T        2              +                  d        2            ·              F        3            ·              T        2              +                  a        2            ·              T        3              +                  b        3            ·      F      ·              T        3              +                  c        3            ·              F        2            ·              T        3              +                  d        3            ·              F        3            ·              T        3            Here the coefficients a0 . . . d3, are calculated from the calibration data and are used to approximate the relation of F and T to the output P. Linear approximation schemes such as least square fit, or an exact fit from a prescribed number of data points may be used.
When the sensor is used in the field, the microprocessor notes the temperature and frequency of the transducer and calculates the pressure readout based on equation (2).
For high accuracy use, this scheme has a number of limitations.
First, the fit of the polynomial is dependent on the order of the polynomial chosen. Higher order polynomials provide a better fit but significantly increase the computational burden which limits the speed and accuracy of calculations.
Second, high order polynomials are notoriously ill behaved and exhibit oscillatory characteristics not fount in the original data.
Third, the estimation at the boundaries of the original data is poor, with extreme divergence outside of the boundaries of the original data.
Other methods such as Bezier curves and Hermite Splines may also be used to overcome some of the unnatural behaviors of the polynomials. Such methods, however, involve significant computational burden thus limiting their usefulness in systems where computational power is limited.
Cubic splines techniques have also been used to fit data. Such methods have the advantage that curvature is controlled to avoid sharp transitions. However, such methods depend on prior knowledge of curvature constraints and end point characteristics that are often unknown or too variable creating errors in the resultant fit that do not appear in the measurement data. Furthermore, the complexity of the calculation is substantial.
In the prior art, the calculations involved require the use of double precision floating point operations to maintain calculation errors below 1 ppm. This alone almost quadruples the computational load for a small microprocessor based system.